# -*- coding: utf-8 -*-
# 作者： 安智军
# @Time：2022/7/9 16:43
# @Email：1010666711@qq.com
# @File： 2、回调函数.py
'''
函数： 用一块代码实现某一个特定的功能
什么是回调函数？
1、回调模式  如果一个函数他的入参是一个函数类型 那么把这参数叫做回调函数
2、回调函数和递归的区别  递归是调用本省  回调函数是调用其他函数 参数为函数
'''


# 代码演示 回调函数
# 比较两个数的大小，并用不同的风格输出    例如：compare 1 and 2 min=1 1和2比较最小的是1
# 什么是回调函数？ 在函数体内调用其他函数 入参为本函数的参数 叫做回调函数
def get_min(a, b, fun):
    # func 是回调函数的引用
    result = a if a < b else b
    fun(a, b, result) # 这个是回调 他的参数为本函数的参数 则为回调函数


def call_back_print(a, b, _min):
    print(f"compare {a} and {b}, min ={_min}")


if __name__ == '__main__':
    get_min(a=1, b=2, fun=call_back_print)
